package com.cloudschool.content.service;

import com.cloudschool.content.model.dto.AddCourseDto;
import com.cloudschool.content.model.dto.CourseBaseInfoDto;
import com.cloudschool.content.model.dto.EditCourseDto;
import com.cloudschool.content.model.dto.QueryCourseParamsDto;
import com.cloudschool.content.model.po.CourseBase;
import com.cloudschool.base.model.PageParams;
import com.cloudschool.base.model.PageResult;

/**
 * @author chenhong
 * @version 1.0.0
 * @ClassName CourseBaseInfoService.java
 * @createTime 2023年03月07日 13:47:00
 * @description 课程基本信息管理业务接口
 */
public interface CourseBaseInfoService {
    /**
     *
     * @param l
     * @param pageParams
     * @param queryCourseParamsDto
     * @return com.cloudschool.model.PageResult<com.cloudschool.content.model.po.CourseBase>
     * @description 课程查询
     * @author chenhong
     * @date 2023/3/7 14:04
     */
    PageResult<CourseBase> queryCourseBaseList(long l, PageParams pageParams, QueryCourseParamsDto queryCourseParamsDto);

    /**
    * @description 添加课程基本信息
    * @param companyId 教学机构id
     * @param addCourseDto 课程基本信息
    * @return com.cloudschool.content.model.dto.CourseBaseInfoDto
    * @author chenhong
    * @date 2023/3/8 12:19
    */
    CourseBaseInfoDto createCourseBase(Long companyId, AddCourseDto addCourseDto);

    /**
    * @description 根据id查询课程基本信息,包括课程基本信息和营销信息
    * @param courseId
    * @return com.cloudschool.content.model.dto.CourseBaseInfoDto
    * @author chenhong
    * @date 2023/3/8 20:34
    */
    CourseBaseInfoDto getCourseBaseInfo(Long courseId);

    /**
    * @description  修改课程信息
    * @param companyId 
     * @param dto 
    * @return com.cloudschool.content.model.dto.CourseBaseInfoDto
    * @author chenhong
    * @date 2023/3/8 20:40
    */
    public CourseBaseInfoDto updateCourseBase(Long companyId, EditCourseDto dto);
}
